package com.sx.netty.nio;

import java.nio.IntBuffer;

/**
 * @Author Administrator
 * @Description 对NIO中buffer的简单使用，Buffer其底层就是一个被final修饰的数组
 * @Date 2020/11/2 15:08
 */
public class BasicBuffer {

    public static void main(String[] args) {
//        设置Buffer的容量
        IntBuffer intBuffer = IntBuffer.allocate(5);
//        向Buffer中存放数据
        for (int i = 0; i < intBuffer.capacity(); i++) {
            intBuffer.put(2 * i);
        }
        /*buffer中维护的四大参数
        * capacity：buffer的容量
        * limit：buffer允许添加元素的限制
        * position：buffer数组的下标
        * mark：？
        * */

//        对buffer进行切换（读和写的切换）
        intBuffer.flip();

//        intBuffer.position(1);
//        System.out.println(intBuffer.get());
//        intBuffer.limit(3);
        System.out.println(intBuffer.position(3));
        while(intBuffer.hasRemaining()){
            System.out.println("当前位置：" + intBuffer.position());
            int result = intBuffer.get();
            System.out.println(result);
        }
    }
}
